Many modern computer applications operating on computing devices provide a graphical user-interface for user interaction. Operating systems, which control computing devices, frequently provide some type of support to the applications to aid in designing user-interfaces to permit a common look and feel for applications utilizing the operating system.
An example tool provided by operating systems to applications to help design user-interfaces is a “layout manager” configured to receive a “layout”, or series of instructions for dividing one or more relatively-large rectangles available for the user-interface into a set of smaller rectangles that can be separated by space. The relatively-large rectangle(s) are typically referred to as “containers” and the smaller rectangles are typically referred to as “components.” Typically, the layout manager implements a layout strategy associated with the containers.